# -*- coding: utf-8 -*-
# @Time : 2022-07-04 17:07
# @Author : Z
# @Function :

# 类名符合变量的命名规则，一般首字母大写
class Human:
    """这是__doc__的内容,人类"""
    # 类变量
    human = '人类'

    # 类方法
    @classmethod
    def eating(cls):
        print('人类都会吃东西')
        return "人类还会用火将食物煮熟吃"


    @classmethod
    def sleep(cls):
        print('人类都要睡觉,如果不写return,默认返回None')

    # 构造方法：实例化创造对象的时候，也创造实例变量，该方法在类实例化时会自动调用
    def __init__(self,name,age,color):
        self.name = name
        self.age = age
        self.color =color

    # 实例函数or方法
    def color_A(self):
        print("不同种族的人的肤色不一样")

    def language(self,language):
        print("不同种族的人会语言不同："+language)

    def play(self):
        print('人类都会玩耍')

    # 私有函数，只能在类里面使用,不会被继承
    def __private(self):
        print("私有方法不会被继承，也无法被外部调用")


if __name__ == '__main__':
    # 类属性和类方法直接通过类名调用
    print(Human.human)
    ll = Human.eating()
    print(ll)
    print(Human.sleep())

    # 实例函数和变量必须通过对象调用，因为他们属于特定的对象
    # 创造对象，并实例化
    man=Human("will",30,"yellow")
    # 调用变量
    print(man.color)
    # 调用实例函数
    man.language("中文")
    man.play()
    man.color_A()































